home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Collection of Tools & Utilities
/
Collection of Tools and Utilities.iso
/
network
/
dis_pkt9.zip
/
DIS_PKT9.DOC
< prev
next >
Wrap
Text File
|
1991-11-02
|
14KB
|
358 lines
File DIS_PKT.DOC 3 Nov 1991
From: Joe R. Doupnik
Utah State University
Logan Utah 84322
jrd@cc.usu.edu
(801) 750-2982 voice
(801) 750-2992 fax
What DIS_PKT.DOS does: It provides an Ethernet or a Token Ring Packet Driver
interface to programs built to operate over Packet Drivers. It talks
to NDIS (3Com/Microsoft) instead of to a lan board directly. It shares
the board with NDIS users. We call this a "shim", sitting between the
normal applications program (NetWare shells, TCP/IP, etc) and the more
hardware specific portions (NDIS in this case).
Packet Driver flavored applications NDIS flavored applications
|| ||
------------- ||
| DIS_PKT | ||
------------- ||
|| ||
------------------------------------------
| main module |
| NDIS ........................ |
| board specific driver(s) |
-------------------------------------------
||
--------------------------------
| Ethernet/Token Ring board(s) |
--------------------------------
||
=================================== Ethernet/Token Ring wire
Material added to version 1.09 (as compared to v1.07) -
o Support for using old Novell 802.3 packets on the wire while using Type
8137 packets to the application. The BYU Packet Driver Novell shell
kit requires Type 8137 packets be used by the shell. The keyword "NOVELL="
in the section [pktdrv] determines whether or not conversion occurs. If a
y is placed after the NOVELL= phrase then conversion occurs:
novell = y (case independent)
This option provides the same feature as the "-n" option of a regular
Packet Driver from the Clarkson collection.
Conversion does not occur if the right hand side is not a y, nor if the
entire line is omitted.
Conversion occurs only if the NDIS driver uses Ethernet 802.3 packets; this
also means dis_pkt provides a Packet Driver Class 1 interface to apps.
o Support for Ethernet 802.3 with 802.2 headers and Token Ring 802.5 NDIS
drivers, as Packet Driver Class 11 and 3, respectively. The NOVELL= option
does not apply to these boards. Dan Lanciani of Harvard added this part.
First sample PROTOCOL.INI file:
[protocol manager]
drivername = PROTMAN$
[pktdrv] <-- name of this driver entry
drivername = pktdrv$ <-- formal driver name
bindings = wd8003xmac <-- use your board's NDIS driver here
intvec = 0x60 <-- Packet Driver Int, 60h..7fh
chainvec = 0x66 <-- daisy chained Pkt Drvr Int, unused
novell = y <-- Optional, if present and y(es) then
convert between old Novell 802.3 pkts
on the wire and Type 8137 for the app.
Omitting this line or using any other
response turns off the conversion;
default is no conversion.
[attiso]
drivername = ATTISO$ <-- Another NDIS client
bindings = wd8003xmac <-- bound to the same harware driver
nsess = 5
ncmds = 14
use_emm = n
Western Digital EtherCard PLUS Family Adapter <-- Ethernet board
[wd8003xmac] <-- its ndis driver
drivername = MACWD$
irq = 7
ramaddress = 0xCA00
iobase = 0x280
receivebufsize = 1536 <-- make this a full Ethernet pkt
Sample section of CONFIG.SYS (StarGROUP material is not required):
device=c:\lanman\protman.sys /i:c:\lanman <-- must be first
device=c:\lanman\macwd.dos <-- WD8003E driver
device=c:\lanman\dis_pkt.dos <-- Pkt Driver (this program)
device=c:\lanman.dos\drivers\attload.dos /Y <-- StarGROUP NDIS
device=c:\lanman.dos\drivers\attiso\attiso.dos <-- StarGROUP NDIS
device=c:\qemm\loadhi.sys /r:1 e:\pctcp\ifcust.sys <-- PC/TCP stuff
device=c:\qemm\loadhi.sys /r:4 e:\pctcp\ipcust.sys <-- etc
A second, more elaborate example, with names easier to type. We start with
file PROTOCOL.INI. Note that semicolons start comment lines.
; This is a sample protocol.ini file listing three Ethernet boards:
; attcsma.dos is an AT&T StarLAN 10 EN100
; elnkii.dos is a 3Com 3C503
; wd8003.dos is a Western Digital WD8003E
; Only one board will be selected but the other two are present.
[protocol manager]
drivername = PROTMAN$
; Packet Driver protocol users tie in here
[pktdrv]
drivername = pktdrv$
bindings = attcsma
; bindings= elnkii
; bindings = wd8003
intvec = 0x60
; chainvec = 0x66 ; chaining to another Packet Driver is unused
novell = no ; do not convert packet types this time
; AT&T StarGROUP protocol stack ties in here via name ATTISO$
[attiso]
drivername = ATTISO$
bindings = attcsma
; bindings = elnkii
; bindings = wd8003
nsess = 5
ncmds = 14
use_emm = n
;Western Digital EtherCard PLUS Family Adapter, WD8003E in this case
[wd8003]
drivername = MACWD$
irq = 7
ramaddress = 0xCA00
iobase = 0x280
receivebufsize = 1536
; maxtransmits = 6
; receivebuffers = 6
; receivechains = 6
; 3Com Etherlink II, 3C503
[elnkii]
drivername = ELNKII$
ioaddress = 0x350
interrupt = 5
transceiver = onboard
maxtransmits = 12
xmitbufs = 1
; AT&T StarLAN 10 EN100
[attcsma]
drivername = ATTCSMA$
board_type = 2
irq = 2
ioaddr = 0x360
daram = 0xD000
; End of file protocol.ini
Fragment of config.sys for the second example. Note three .dos board drivers.
device=c:\system\ramdrive.sys 1024 512 128 /E
device=c:\lanman\protman.sys /i:c:\lanman.dos\drivers\star10en
device=c:\lanman\attcsma.dos
device=c:\lanman\elnkii.dos
device=c:\lanman\macwd.dos
device=c:\lanman\dis_pkt.dos
device=c:\lanman.dos\drivers\attload.dos /Y
device=c:\lanman.dos\drivers\attiso\attiso.dos
device=c:\qemm\loadhi.sys /r:1 e:\pctcp\ifcust.sys
device=c:\qemm\loadhi.sys /r:4 e:\pctcp\ipcust.sys
device=c:\qemm\loadhi.sys /r:4 c:\netdev.sys
shell=c:\command.com /p /e:800
It seems to be necessary to run NETBIND.EXE to get all this to be active.
Some Lan Manger network startup routines run Netbind implicitly.
Copyright notice and disclaimer from the beginning of the source code
file dis_pkt.asm:
; DIS_PKT.ASM - Adapter provides Packet Driver v1.09 interface over NDIS.
; Version 1.07 18 May 1991 by Joe R. Doupnik, Utah State Univ.
; Version 1.08 9 Aug 1991 by Dan Lanciani, ddl@harvard.harvard.edu
; Version 1.09 3 Nov 1991 by Joe R. Doupnik, Utah State Univ.
; Copyright (C) 1988 - 1991 FTP Software, Inc.
This unmodified source file and it's executable form may be used and
redistributed freely. The source may be modified, and the source or
executable versions built from the modified source may be used and
redistributed, provided that this notice and the copyright displayed by
the exectuable remain intact, and provided that the executable displays
an additional message indicating that it has been modified, and by whom.
FTP Software Inc. releases this software "as is", with no express or
implied warranty, including, but not limited to, the implied warranties
of merchantability and fitness for a particular purpose.
USE AT YOUR OWN RISK.
To build, using Microsoft MASM 5 or later, LINK 3.64 or later, and EXE2BIN:
masm dis_pkt;
link dis_pkt;
exe2bin dis_pkt.exe dis_pkt.dos
del dis_pkt.exe
del dis_pkt.obj
Here is an excerpt from the formal NDIS v2 specification document by 3Com
and Microsoft concerning what goes into the PROTOCOL.INI file.
PROTOCOL.INI
The PROTOCOL.INI file stores configuration and binding
information for all the protocol and MAC modules in the system.
The file uses the same general format as the LANMAN.INI file. It
consists of a series of named sections, where the section name is
in fact the module name from a module characteristics table.
Below the bracketed module name is a set of configuration
settings for the module in name=value format.
For example:
[MYNetBIOS]
Drivername = NetBIOS$
Bindings = ETHERCARD
MaxNCBs = 16
MaxSessions = 32
MaxNames = 16
The rules for PROTOCOL.INI contents are:
o Bracketed module name. Must be the name of a protocol or MAC
module, e.g. [MYNetBIOS]. This is the name of the module as
defined in that module's